package com.zy.explore.search.interfaces.frm;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@ApiModel("文章查询请求Frm")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ArticleQueryFrm {

    /**
     * 主键id
     */
    @ApiModelProperty(value = "主键", example = "'1'")
    private String id;

    /**
     * 摘要信息
     */
    @ApiModelProperty(value = "摘要信息", example = "'1'")
    private String summary;

    /**
     * 标题
     */
    @ApiModelProperty(value = "标题", example = "'1'")
    private String title;

    /**
     * 所属标签
     */
    @ApiModelProperty(value = "所属标签", example = "'1'")
    private String tags;

    /** 是否推荐*/
    @ApiModelProperty(value = "是否推荐", example = "1")
    private Integer featured;

    /** 文章类型是否原创（1，0：是，否）*/
    @ApiModelProperty(value = "是否原创", example = "1")
    private Integer type;

    /** 分类*/
    @ApiModelProperty(value = "分类", example = "1")
    private Integer belongGroup;

    /** 评论量*/
    @ApiModelProperty(value = "评论量", example = "1")
    private Integer comments;

    /** 收藏量*/
    @ApiModelProperty(value = "收藏量", example = "1")
    private Integer favors;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间起 yyyy-MM-dd HH:mm:ss", example = "2021-05-20 00:00:00")
    private String createTimeBegin;

    @ApiModelProperty(value = "创建时间止 yyyy-MM-dd HH:mm:ss", example = "2021-05-20 23:59:59")
    private String createTimeEnd;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间起 yyyy-MM-dd HH:mm:ss", example = "2021-05-20 00:00:00")
    private String updateTimeBegin;

    @ApiModelProperty(value = "更新时间止 yyyy-MM-dd HH:mm:ss", example = "2021-05-20 23:59:59")
    private String updateTimeEnd;

    /**
     * 排序字段集合
     */
    @ApiModelProperty("排序字段集合")
    private List<SortFieldFrm> sortFields;

    /**
     * 分页查询参数，页码
     */
    @ApiModelProperty(value = "查询页", example = "1")
    private Integer pageNum;

    /**
     * 分页查询参数，每页数量
     */
    @ApiModelProperty(value = "每页数量", example = "10")
    private Integer pageSize;

    @ApiModelProperty(value = "关键字", example = "优雅")
    private String keywords;
}
